package com.cjy.set;

import java.util.HashSet;
import java.util.Set;
/*
假设学校的运动会只有两个项目。跑步和跳绳。有些学生参加了跑步，有些学生参加了跳绳。有些学生既参加了跑步也参加了跳绳。
1.请输出所有参加运动项目的同学，
2.输出参加了两项的同学。
3.输出只参加跳绳没参加跑步的同学。
        注意：HashSet的方法会改变原有集合，最好创建信的HashSet集合存储每个要求
 */
public class TestSet {
    public static void main(String[] args) {
        //创建一个集合存储参加跑步同学的名称
        Set<String> name1 = new HashSet<>();
        name1.add("A");
        name1.add("C");
        name1.add("B");
        name1.add("D");
        //创建一个集合存储参加跳绳同学的名称
        Set<String> name2 = new HashSet<>();
        name2.add("A");
        name2.add("D");
        name2.add("F");
        name2.add("E");
        //创建一个集合存储参加了项目的同学名称
        Set<String> name3 = new HashSet<>();
        name3.addAll(name1);
        name3.addAll(name2);
        System.out.println(name3);

        //创建一个集合存储两项都参加了的同学
        Set<String> name4 = new HashSet<>();
        name4.addAll(name1);
        name4.retainAll(name2);
        System.out.println(name4);

        //创建一个集合存储只参加了跳绳的同学
        Set<String> name5 = new HashSet<>();
        name5.addAll(name2); //将只参加跳绳的同学放到新的集合name5中
        name5.removeAll(name1); //在通过removeAll删除在name5中有name1相同的姓名
        System.out.println(name5);
    }
}
